package binderipcservicemanager

import android.os.IBinder
import android.os.IInterface
import android.os.RemoteException
import kotlin.jvm.Throws

interface IBCAdvancedServiceManager : IInterface {
    @Throws(RemoteException::class)
    fun addService(name: String?, binder: IBinder?)

    @Throws(RemoteException::class)
    fun removeService(name: String?)

    @Throws(RemoteException::class)
    fun getService(name: String?): IBinder?

    companion object {
        const val descriptor = "android.binderipcservicemanager.IBCAdvancedServiceManager"

        const val TRANSACTION_ADD_SERVICE = IBinder.FIRST_CALL_TRANSACTION
        const val TRANSACTION_GET_SERVICE = IBinder.FIRST_CALL_TRANSACTION + 1
        const val TRANSACTION_REMOVE_SERVICE = IBinder.FIRST_CALL_TRANSACTION + 2
    }
}